<html>
<head>
<title>html2ps/html2pdf FAQ</title>
<link rel="stylesheet" type="text/css" medial="all" title="Default" href="css/help.css"/>
</head>
<body>
<h1>HOWTO: Install custom fonts</h1>
<p><a href="index.html">Back to table of contents</a></p>

<div>
Keep in mind that most likely you will be using FPDF output method, as it covers 90% of your needs. 
Installing fonts for PDFLIB and Postscript output methods is required only if you're using 
non-default output driver.
</div>

<ol>
  <li><a href="#fpdf">FPDF</a> 
  <li><a href="#postscript">Postscript</a></li>
  <li><a href="#ps2pdf">Postscript (PS2PDF)</a></li>
  <li><a href="#pdflib">PDFLIB</a> 
</ol>

<h2 id="fpdf">FPDF output method</h2>
Let's assume that you're going to install Trebuchet MS for the FPDF output method.
<ol>
<li>Copy font files (<tt>trebuc.ttf</tt>, <tt>treducdb.ttf</tt>, <tt>trebucbi.ttf</tt> and <tt>trebucit.ttf</tt>) 
to TTF_FONTS_REPOSITORY directory (by default it points to 'fonts' subdirectory)</li>
<li><a title="How to get AFM files?" href="howto_afm.html">Generate font metrics file</a> for these fonts files
and put it into the same directory. Note that metrics file should have the same name as font file and 
extension <tt>.afm</tt> (this step is optional if you're using a html2ps version more recent than 1.9.4)</li>
<li>Register new font family in html2ps.config: add the following lines to <tt>html2ps.config</tt> in 
the FONTS-PDF section (between <tt>&lt;fonts-pdf&gt;</tt> and <tt>&lt;/fonts-pdf&gt;</tt> tags):
<pre>
  &lt;family name=&quot;Trebuchet MS&quot;&gt;
    &lt;normal normal=&quot;TrebuchetMS&quot; italic=&quot;TrebuchetMS-Italic&quot; oblique=&quot;TrebuchetMS-Italic&quot;/&gt;
    &lt;bold normal=&quot;TrebuchetMS-Bold&quot; italic=&quot;TrebuchetMS-Bold-Italic&quot; oblique=&quot;TrebuchetMS-Bold-Italic&quot;/&gt;
  &lt;/family&gt;
</pre>
<li>
Register font files: add the following to the FONTS-PDF section:
<pre>
  &lt;ttf typeface=&quot;TrebuchetMS&quot;             embed=&quot;0&quot; file=&quot;trebuc.ttf&quot;/&gt;
  &lt;ttf typeface=&quot;TrebuchetMS-Bold&quot;        embed=&quot;0&quot; file=&quot;trebucbd.ttf&quot;/&gt;
  &lt;ttf typeface=&quot;TrebuchetMS-Italic&quot;      embed=&quot;0&quot; file=&quot;trebucit.ttf&quot;/&gt;
  &lt;ttf typeface=&quot;TrebuchetMS-Bold-Italic&quot; embed=&quot;0&quot; file=&quot;trebucbi.ttf&quot;/&gt;
</pre>
Note that you may want to replace <tt>embed=&quot;0&quot;</tt> with <tt>embed=&quot;1&quot;</tt> if you intend
to distribute generated PDF to users without Trebuchet MS font installed in their machines.
</li>
</ol>

<h2 id="postscript">Postscript output method</h2>
Say you want to see the fancy &quot;Trebuchet MS&quot; font in your generated 
postscript... 
<ol>
  <li> First of all, TrueType-compatible Ghostscript is a must. Most Ghostscipt 
    distributions are TrueType compatible. If you're not sure, ask your system 
    administrator. If your GS is not True-Type compatible, consider building from 
    source using require options. <br>
    <br>
  </li>
  <li> Find the file coresponding to &quot;Trebuchet MS&quot;. Assuming you're 
    using some version of Windows on your home machine, you can do it by opening 
    &quot;Control Panel ... Fonts&quot; and checking the properties of the chosen 
    font. At the top of the property page you'll see the file name - <tt>trebuc.ttf</tt>, 
    in our case. <br>
    <br>
  </li>
  <li> Find the font files corresponding to the bold, italic and bold italic versions 
    of this font. Probably, it will be:<br/>
    &quot;Trebuchet MS Bold&quot; -- <tt>trebucbd.ttf</tt>,<br/>
    &quot;Trebuchet MS Italic&quot; -- <tt>trebucit.ttf</tt>,<br/>
    &quot;Trebuchet MS Bold Italic&quot; -- <tt>trebucbi.ttf</tt><br>
    <br/>
  </li>
  <li>Copy these files from the Windows fonts directory (probably C:\Windows\Fonts) 
    to the Ghostscript fonts directory (probably C:\gs\fonts). <br>
    <br>
  </li>
  <li>Modify the Ghostscript fontmap file (probably C:\gs\gs8.51\lib\Fontmap, 
    assuming you're using Ghostscript version 8.51), adding the folowing lines: 
    <pre>
/TrebuchetMS (trebuc.ttf) ;
/TrebuchetMS-Italic (trebucit.ttf) ;
/TrebuchetMS-Bold (trebucbd.ttf) ;
/TrebuchetMS-Bold-Italic (trebucbi.ttf) ;
</pre>
    Note you can write almost anything after the / assuming it won't interfere 
    with other font names. Say: 
    <pre>
/MyCoolFont1 (trebuc.ttf) ;
/MyCoolFont2 (trebucit.ttf) ;
/MyCoolFont3 (trebucbd.ttf) ;
/MyCoolFont4 (trebucbi.ttf) ;
</pre>
  </li>
  <li>Register the above font names in the script config file. Add the following 
    lines to <tt>html2ps.config</tt> in the FONTS section (between <tt>&lt;fonts&gt;</tt> 
    and <tt>&lt;/fonts&gt;</tt> tags) 
    <pre>
  &lt;family name=&quot;Trebuchet MS&quot;&gt;
    &lt;normal normal=&quot;TrebuchetMS&quot; italic=&quot;TrebuchetMS-Italic&quot; oblique=&quot;TrebuchetMS-Italic&quot;/&gt;
    &lt;bold normal=&quot;TrebuchetMS-Bold&quot; italic=&quot;TrebuchetMS-Bold-Italic&quot; oblique=&quot;TrebuchetMS-Bold-Italic&quot;/&gt;
  &lt;/family&gt;
</pre>
    Of course, the modified file should be uploaded to the server where the working 
    script reside. <br>
    <br>
  <li>Register the metric files of the new TrueType fonts. To do it, add the following to the FONT section:
<pre>
    &lt;metrics typeface=&quot;TrebuchetMS&quot; file=&quot;trebuc&quot;/&gt;
    &lt;metrics typeface=&quot;TrebuchetMS-Italic&quot; file=&quot;trebucit&quot;/&gt;
    &lt;metrics typeface=&quot;TrebuchetMS-Bold&quot; file=&quot;trebucbd&quot;/&gt;
    &lt;metrics typeface=&quot;TrebuchetMS-BoldItalic&quot; file=&quot;trebucbi&quot;/&gt;
</pre>
  In this case, the &quot;file&quot; value refers to the name of the font metric file (.afm) you've 
  <a title="How to get AFM files?" href="howto_afm.html">generated</a>. The &quot;.afm&quot; extension
  as appended automatically; files are searched in the directory specified by TYPE1_FONTS_REPOSITORY configuration
  constant (see your config.inc.php file).
  </li>
  <li> Now, the following example should be rendered using Trebuchet MS font: 
    <pre>
&lt;BIG style=&quot;font-family: 'Trebuchet MS'&quot;&gt;ABCDEFGH&lt;/BIG&gt;&lt;br&gt;
&lt;BIG style=&quot;font-family: 'Trebuchet MS'; font-weight: bold;&quot;&gt;ABCDEFGH&lt;/BIG&gt;&lt;br&gt;
&lt;BIG style=&quot;font-family: 'Trebuchet MS'; font-style: italic;&quot;&gt;ABCDEFGH&lt;/BIG&gt;&lt;br&gt;
&lt;BIG style=&quot;font-family: 'Trebuchet MS'; font-weight: bold; font-style: italic;&quot;&gt;ABCDEFGH&lt;/BIG&gt;&lt;br&gt;
</pre>
  </li>
</ol>

<h2 id="ps2pdf">PS2PDF output method</h2>

<p>Take the steps described above with only this difference: all Ghostscript-related 
  directories are on your server where the script resides. Ask your hoster/system 
  administrator about the exact location of Ghostscript.</p>

<h2 id="pdflib">PDFLIB output method</h2>
<p>Please refer to PDFLib Documentation.</p>

</body>
</html>